noncapturing group(非捕获组):正则表达式中的一种分组方式,用 (?:...) 表示。它把子表达式当作一个整体来应用量词、选择等规则,但不会把匹配结果保存为可引用的“捕获组编号”(例如不会生成 \1 这样的引用)。常用于提升可读性、避免不必要的捕获、减少后续分组编号混乱。
(注:正则里还有“捕获组 capturing group”等其他相关概念。)
/ˌnɒnˈkæptʃərɪŋ ɡruːp/
Use a noncapturing group when you don't need to reference the match later.
当你不需要在后面引用匹配内容时,使用非捕获组。
The pattern ^(?:Mr|Ms|Dr)\.?\s+[A-Z][a-z]+$ uses a noncapturing group to match titles without creating an extra capture group that would shift the numbering of later groups.
模式 ^(?:Mr|Ms|Dr)\.?\s+[A-Z][a-z]+$ 用非捕获组来匹配称谓,同时不创建额外的捕获组,从而避免影响后续分组的编号。
该术语由三部分组成:non-(“非、不”)+ capturing(来自 capture,“捕获、抓取”,在正则中引申为“把匹配内容存起来供引用”)+ group(“组、分组”)。合起来就是“不进行捕获的分组”,强调“参与分组运算但不保存为捕获结果”。
(?:...) 的常见用法与最佳实践 (?:...) 等分组语法说明